package com.hzsoft.util;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;


/**
 * 
 * PropertiesUtil.java
 * @desc properties 资源文件解析工具
 * @author Guoxp
 * @datatime Apr 7, 2013 3:58:45 PM
 *
 */
public class PropertiesUtil {  
  
    private Properties props;  
    
    public PropertiesUtil(String fileName){  
        readProperties(fileName);  
    }  
    private void readProperties(String fileName) {  
        try {  
            props = new Properties();  
            InputStream fis = getClass().getResourceAsStream(fileName);  
            props.load(fis);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
    
    /** 
     * 获取某个属性 
     */  
    public String getProperty(String key){  
        return props.getProperty(key);  
    }  
    
    /** 
     * 获取所有属性，返回一个map,不常用 
     * 可以试试props.putAll(t) 
     */  
    public Map<String,String> getAllProperty(){  
        Map<String,String> map=new HashMap<String,String>();  
        @SuppressWarnings("unchecked")
		Enumeration<String> enu = (Enumeration<String>) props.propertyNames();  
        while (enu.hasMoreElements()) {  
            String key = enu.nextElement();  
            String value = props.getProperty(key);  
            map.put(key, value);  
        }  
        return map;  
    }  
    
    /** 
     * 在控制台上打印出所有属性，调试时用。 
     */  
    public void printProperties(){  
        props.list(System.out);  
    }  
}  